win32: don't convert '\n' to '\r\n' when copying if it already is '\r\n'
authorAleksander Morgado <aleksander@lanedo.com>
Wed, 27 Feb 2013 08:22:27 +0000 (09:22 +0100)
committerAleksander Morgado <aleksander@lanedo.com>
Tue, 18 Jun 2013 12:37:03 +0000 (14:37 +0200)
https://bugzilla.gnome.org/show_bug.cgi?id=649390

gdk/win32/gdkproperty-win32.c

index a260322c2517b47218562395cb632e8a1705bb80..e2df14d8f4493abe15203d71009297372d9e04ff 100644 (file)
@@ -205,7 +205,7 @@ _gdk_win32_window_change_property (GdkWindow    *window,
          wclen++;              /* Terminating 0 */
          size = wclen * 2;
          for (i = 0; i < wclen; i++)
-           if (wcptr[i] == '\n')
+           if (wcptr[i] == '\n' && (i == 0 || wcptr[i - 1] != '\r'))
              size += 2;
          
          if (!(hdata = GlobalAlloc (GMEM_MOVEABLE, size)))
@@ -222,7 +222,7 @@ _gdk_win32_window_change_property (GdkWindow    *window,
          p = (wchar_t *) ucptr;
          for (i = 0; i < wclen; i++)
            {
-             if (wcptr[i] == '\n')
+             if (wcptr[i] == '\n' && (i == 0 || wcptr[i - 1] != '\r'))
                *p++ = '\r';
              *p++ = wcptr[i];
            }